<?php
/**
 * Image helper functions
 * 
 * @author Chris
 * @link http://con.cept.me
 */
class ImageHelper {

    /**
     * Directory to store thumbnails
     * @var string 
     */

    /**
     * Create a thumbnail of an image and returns relative path in webroot
     * the options array is an associative array which can take the values
     * quality (jpg quality) and method (the method for resizing)
     *
     * @param int $width
     * @param int $height
     * @param string $img
     * @param array $options
     * @return string $path
     */
    public static function thumb($width, $height, $img, $options = null,$to = null)
    {
        if(!file_exists($img)){
            $img = str_replace('\\', '/', YiiBase::getPathOfAlias('webroot').$img);
            if(!file_exists($img)){
                throw new ExceptionClass('Image not found');
            }
        }

        // Jpeg quality
        $quality = 80;
        // Method for resizing
        $method = 'adaptiveResize';

        if($options){
            extract($options, EXTR_IF_EXISTS);
        }   
        Yii::import('ext.phpThumb.PhpThumbFactory');
        $options = array('jpegQuality' => $quality);
        $thumb = PhpThumbFactory::create($img, $options);
        $thumb->{$method}($width,$height);
        if($to == null){
            $thumb->save($img);
            return $img;
        }else{
            $thumb->save($to);
            return $to;
        }
    }
}